package com.newtouch.bxzs.business.message.model;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.newtouch.bxzs.common.base.model.bo.PageParam;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 查询通知列表参数VO
 *
 * <p>
 * <b>History:</b>
 * <table border="1">
 * <tr>
 * <th>Date</th>
 * <th>Operator</th>
 * <th>Memo</th>
 * </tr>
 * <tr>
 * <td>2020/12/23</td>
 * <td>liman</td>
 * <td>Create</td>
 * </tr>
 * </table>
 *
 * @author liman
 * @version 1.0.0
 * @since 1.0.0
 */

@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel("通知列表查询参数VO")
public class NotificationVO extends PageParam implements Serializable{
    private static final long serialVersionUID = 5104816602989181215L;

    @ApiModelProperty(value = "通知ID")
    private String notificationId;

    @ApiModelProperty(value = "通知名称")
    private String notificationName;

    @ApiModelProperty(value = "通知类型：1-公司通知；2-业务通知；3-系统通知；4-个人通知；")
    private String notificationType;

    @ApiModelProperty(value = "通知简介")
    private String notificationIntroduction;

    @ApiModelProperty(value = "通知内容")
    private String notificationContent;

    @ApiModelProperty(value = "发布时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date publishTime;

    @ApiModelProperty(value = "撤销时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date revokeTime;

    @ApiModelProperty(value = "发布状态，1-未发布，2-已发布，3-已结束，4-已取消，5-已撤销")
    private Integer publishStatus;

    @ApiModelProperty(value = "备注")
    private String memo;

    @ApiModelProperty(value = "暂存-1、发布-2、撤销-3")
    private String storagePublishButton;

    @ApiModelProperty(value = "接收人id",required = true)
    private List<String> receiveUserIdList;
}
